'\" t
.\"     Title: prlimit
.\"    Author: [see the "AUTHOR(S)" section]
.\" Generator: Asciidoctor 2.0.15
.\"      Date: 2021-07-20
.\"    Manual: User Commands
.\"    Source: util-linux 2.37.2
.\"  Language: English
.\"
.TH "PRLIMIT" "1" "2021-07-20" "util\-linux 2.37.2" "User Commands"
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.ss \n[.ss] 0
.nh
.ad l
.de URL
\fI\\$2\fP <\\$1>\\$3
..
.als MTO URL
.if \n[.g] \{\
.  mso www.tmac
.  am URL
.    ad l
.  .
.  am MTO
.    ad l
.  .
.  LINKSTYLE blue R < >
.\}
.SH "NAME"
prlimit \- get and set process resource limits
.SH "SYNOPSIS"
.sp
\fBprlimit\fP [options] [\fB\-\-resource\fP[=\fIlimits\fP]] [\fB\-\-pid\fP \fIPID\fP]
.sp
\fBprlimit\fP [options] [\fB\-\-resource\fP[=\fIlimits\fP]] \fIcommand\fP [\fIargument\fP...]
.SH "DESCRIPTION"
.sp
Given a process ID and one or more resources, \fBprlimit\fP tries to retrieve and/or modify the limits.
.sp
When \fIcommand\fP is given, \fBprlimit\fP will run this command with the given arguments.
.sp
The \fIlimits\fP parameter is composed of a soft and a hard value, separated by a colon (:), in order to modify the existing values. If no \fIlimits\fP are given, \fBprlimit\fP will display the current values. If one of the values is not given, then the existing one will be used. To specify the unlimited or infinity limit (\fBRLIM_INFINITY\fP), the \-1 or \(aqunlimited\(aq string can be passed.
.sp
Because of the nature of limits, the soft limit must be lower or equal to the high limit (also called the ceiling). To see all available resource limits, refer to the RESOURCE OPTIONS section.
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
\fIsoft\fP:_hard_ Specify both limits.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
\fIsoft\fP: Specify only the soft limit.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
:\fIhard\fP Specify only the hard limit.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.  sp -1
.  IP \(bu 2.3
.\}
\fIvalue\fP Specify both limits to the same value.
.RE
.SH "GENERAL OPTIONS"
.sp
\fB\-h, \-\-help\fP
.RS 4
Display help text and exit.
.RE
.sp
\fB\-\-noheadings\fP
.RS 4
Do not print a header line.
.RE
.sp
\fB\-o, \-\-output\fP \fIlist\fP
.RS 4
Define the output columns to use. If no output arrangement is specified, then a default set is used. Use \fB\-\-help\fP to get a list of all supported columns.
.RE
.sp
\fB\-p, \-\-pid\fP
.RS 4
Specify the process id; if none is given, the running process will be used.
.RE
.sp
\fB\-\-raw\fP
.RS 4
Use the raw output format.
.RE
.sp
\fB\-\-verbose\fP
.RS 4
Verbose mode.
.RE
.sp
\fB\-V, \-\-version\fP
.RS 4
Display version information and exit.
.RE
.SH "RESOURCE OPTIONS"
.sp
\fB\-c, \-\-core\fP[=\fIlimits\fP]
.RS 4
Maximum size of a core file.
.RE
.sp
\fB\-d, \-\-data\fP[=\fIlimits\fP]
.RS 4
Maximum data size.
.RE
.sp
\fB\-e, \-\-nice\fP[=\fIlimits\fP]
.RS 4
Maximum nice priority allowed to raise.
.RE
.sp
\fB\-f, \-\-fsize\fP[=\fIlimits\fP]
.RS 4
Maximum file size.
.RE
.sp
\fB\-i, \-\-sigpending\fP[=\fIlimits\fP]
.RS 4
Maximum number of pending signals.
.RE
.sp
\fB\-l, \-\-memlock\fP[=\fIlimits\fP]
.RS 4
Maximum locked\-in\-memory address space.
.RE
.sp
\fB\-m, \-\-rss\fP[=\fIlimits\fP]
.RS 4
Maximum Resident Set Size (RSS).
.RE
.sp
\fB\-n, \-\-nofile\fP[=\fIlimits\fP]
.RS 4
Maximum number of open files.
.RE
.sp
\fB\-q, \-\-msgqueue\fP[=\fIlimits\fP]
.RS 4
Maximum number of bytes in POSIX message queues.
.RE
.sp
\fB\-r, \-\-rtprio\fP[=\fIlimits\fP]
.RS 4
Maximum real\-time priority.
.RE
.sp
\fB\-s, \-\-stack\fP[=\fIlimits\fP]
.RS 4
Maximum size of the stack.
.RE
.sp
\fB\-t, \-\-cpu\fP[=\fIlimits\fP]
.RS 4
CPU time, in seconds.
.RE
.sp
\fB\-u, \-\-nproc\fP[=\fIlimits\fP]
.RS 4
Maximum number of processes.
.RE
.sp
\fB\-v, \-\-as\fP[=\fIlimits\fP]
.RS 4
Address space limit.
.RE
.sp
\fB\-x, \-\-locks\fP[=\fIlimits\fP]
.RS 4
Maximum number of file locks held.
.RE
.sp
\fB\-y, \-\-rttime\fP[=\fIlimits\fP]
.RS 4
Timeout for real\-time tasks.
.RE
.SH "NOTES"
.sp
The \fBprlimit\fP system call is supported since Linux 2.6.36, older kernels will break this program.
.SH "EXAMPLES"
.sp
\fBprlimit \-\-pid 13134\fP
.RS 4
Display limit values for all current resources.
.RE
.sp
\fBprlimit \-\-pid 13134 \-\-rss \-\-nofile=1024:4095\fP
.RS 4
Display the limits of the RSS, and set the soft and hard limits for the number of open files to 1024 and 4095, respectively.
.RE
.sp
\fBprlimit \-\-pid 13134 \-\-nproc=512:\fP
.RS 4
Modify only the soft limit for the number of processes.
.RE
.sp
\fBprlimit \-\-pid $$ \-\-nproc=unlimited\fP
.RS 4
Set for the current process both the soft and ceiling values for the number of processes to unlimited.
.RE
.sp
\fBprlimit \-\-cpu=10 sort \-u hugefile\fP
.RS 4
Set both the soft and hard CPU time limit to ten seconds and run \(aqsort\(aq.
.RE
.SH "AUTHORS"
.sp
.MTO "dave\(atgnu.org" "Davidlohr Bueso" ""
\- In memory of Dennis M. Ritchie.
.SH "SEE ALSO"
.sp
\fBulimit\fP(1p),
\fBprlimit\fP(2)
.SH "REPORTING BUGS"
.sp
For bug reports, use the issue tracker at \c
.URL "https://github.com/karelzak/util\-linux/issues" "" "."
.SH "AVAILABILITY"
.sp
The \fBprlimit\fP command is part of the util\-linux package which can be downloaded from \c
.URL "https://www.kernel.org/pub/linux/utils/util\-linux/" "Linux Kernel Archive" "."